package thinkingInJava.concurrency;
//: concurrency/Fat.java
// Objects that are expensive to create.

public class Fat {
	private volatile double d; // Prevent optimization
	private static int counter = 0;
	private final int id = counter++;
	public Fat() {
		// Expensive, interruptible operation:
		for(int i = 1; i < 10000; i++) {
			d += (Math.PI + Math.E) / (double)i;
		}
	}
	public void operation() { System.out.println(this); }
	public String toString() { return "Fat id: " + id; }
} ///:~
